var http = require('http');

//创建一个名为baseball的数据库


function couchdb_add(obj) {
    var options = {
        port: 5000,
        method: 'POST',
        path: "/data/add"
    };

    var req = http.request(options, function (res) {
        console.log('STATUS: ' + res.statusCode);
        console.log('HEADERS: ' + JSON.stringify(res.headers));
        res.setEncoding('utf8');
        var body = "";
        res.on('data', function (chunk) {
            body += chunk
        });
        res.once("end", function () {
            var json = JSON.parse(body);
            console.log(json)
        })
    });
    req.setHeader("Content-Type", "application/json")

    req.write(JSON.stringify({
        "city": obj.city,
        "data": obj.data,
        "identify": obj.identify,
        "name": obj.name,
        "phone": obj.phone
    }));

    req.end()
    req.on('error', function (e) {
        console.log('problem with request: ' + e.message);
    });
}

function getCity() {
    var a = Math.ceil(Math.random() * 10);
    if (a < 2) {
        return "南京"
    } else if (a < 4) {
        return "上海"
    } else if (a < 6) {
        return "北京"
    } else if (a < 8) {
        return "广州"
    } else {
        return "深圳"
    }
}

function getData() {
    var a = Math.ceil(Math.random() * 10);
    if (a < 2) {
        return "信用良好"
    } else if (a < 4) {
        return "信用一般"
    } else if (a < 6) {
        return "信用极好"
    } else if (a < 8) {
        return "信用极差"
    } else {
        return "信用完美"
    }
}

function getIdentify() {
    var a = Math.ceil(Math.random() * 10000000000000000000);
    if (a < 1000000000000000000) {
        return getIdentify()
    } else {
        return a;
    }
}

function getName() {
    var familyNames = [
        "赵", "钱", "孙", "李", "周", "吴", "郑", "王", "冯", "陈",
        "褚", "卫", "蒋", "沈", "韩", "杨", "朱", "秦", "尤", "许",
        "何", "吕", "施", "张", "孔", "曹", "严", "华", "金", "魏",
        "陶", "姜", "戚", "谢", "邹", "喻", "柏", "水", "窦", "章",
        "云", "苏", "潘", "葛", "奚", "范", "彭", "郎", "鲁", "韦",
        "昌", "马", "苗", "凤", "花", "方", "俞", "任", "袁", "柳",
        "酆", "鲍", "史", "唐", "费", "廉", "岑", "薛", "雷", "贺",
        "倪", "汤", "滕", "殷", "罗", "毕", "郝", "邬", "安", "常",
        "乐", "于", "时", "傅", "皮", "卞", "齐", "康", "伍", "余",
        "元", "卜", "顾", "孟", "平", "黄", "和", "穆", "萧", "尹"
    ];
    var givenNames = [
        "子璇", "淼", "国栋", "夫子", "瑞堂", "甜", "敏", "尚", "国贤", "贺祥", "晨涛",
        "昊轩", "易轩", "益辰", "益帆", "益冉", "瑾春", "瑾昆", "春齐", "杨", "文昊",
        "东东", "雄霖", "浩晨", "熙涵", "溶溶", "冰枫", "欣欣", "宜豪", "欣慧", "建政",
        "美欣", "淑慧", "文轩", "文杰", "欣源", "忠林", "榕润", "欣汝", "慧嘉", "新建",
        "建林", "亦菲", "林", "冰洁", "佳欣", "涵涵", "禹辰", "淳美", "泽惠", "伟洋",
        "涵越", "润丽", "翔", "淑华", "晶莹", "凌晶", "苒溪", "雨涵", "嘉怡", "佳毅",
        "子辰", "佳琪", "紫轩", "瑞辰", "昕蕊", "萌", "明远", "欣宜", "泽远", "欣怡",
        "佳怡", "佳惠", "晨茜", "晨璐", "运昊", "汝鑫", "淑君", "晶滢", "润莎", "榕汕",
        "佳钰", "佳玉", "晓庆", "一鸣", "语晨", "添池", "添昊", "雨泽", "雅晗", "雅涵",
        "清妍", "诗悦", "嘉乐", "晨涵", "天赫", "玥傲", "佳昊", "天昊", "萌萌", "若萌",
        "子", "淼", "国", "夫", "瑞", "甜", "敏", "尚", "国", "贺", "晨",
        "昊", "易", "益", "益", "益", "瑾", "瑾", "春", "杨", "文",
        "东", "雄", "浩", "熙", "溶", "冰", "欣", "宜", "欣", "建",
        "美", "淑", "文", "杰", "源", "林", "润", "汝", "嘉", "建",
        "建", "亦", "林", "洁", "欣", "涵", "辰", "美", "惠", "洋",
        "涵", "润", "翔", "华", "莹", "晶", "溪", "涵", "怡", "毅",
        "子", "琪", "轩", "辰", "蕊", "萌", "远", "宜", "远", "怡",
        "佳", "惠", "茜", "璐", "昊", "鑫", "君", "滢", "莎", "汕",
        "佳", "玉", "庆", "鸣", "晨", "池", "昊", "泽", "晗", "涵",
        "清", "诗", "乐", "涵", "赫", "傲", "昊", "昊", "萌", "萌",
    ];

    var i = Math.ceil(100 * Math.random());
    var j = Math.ceil(200 * Math.random());

    var familyName = familyNames[i];
    var givenName = givenNames[j];

    return familyName + givenName;
}

function getPhone() {
    var a = Math.ceil(Math.random() * 10000000000);
    if (a < 1000000000) {
        return getPhone()
    } else {
        return a;
    }
}

for (let j = 0; j < 1000; j++) {
    setTimeout(function () {
        for (let i = 0; i < 20; i++) {
            var name = getName(),
                city = getCity(),
                identify = getIdentify(),
                phone = getPhone(),
                data = getData();
            var obj = {
                name: name,
                city: city,
                identify: identify + "",
                phone: phone + "",
                data: data
            }
            couchdb_add(obj)
        }
    }, j * 3000)
}
